import Ai360ModelLogo from './assets/image/models/360.png'
import Ai360ModelLogoDark from './assets/image/models/360_dark.png'
import AdeptModelLogo from './assets/image/models/adept.png'
import AdeptModelLogoDark from './assets/image/models/adept_dark.png'
import Ai21ModelLogo from './assets/image/models/ai21.png'
import Ai21ModelLogoDark from './assets/image/models/ai21_dark.png'
import AimassModelLogo from './assets/image/models/aimass.png'
import AimassModelLogoDark from './assets/image/models/aimass_dark.png'
import AisingaporeModelLogo from './assets/image/models/aisingapore.png'
import AisingaporeModelLogoDark from './assets/image/models/aisingapore_dark.png'
import BaichuanModelLogo from './assets/image/models/baichuan.png'
import BaichuanModelLogoDark from './assets/image/models/baichuan_dark.png'
import BgeModelLogo from './assets/image/models/bge.webp'
import BigcodeModelLogo from './assets/image/models/bigcode.webp'
import BigcodeModelLogoDark from './assets/image/models/bigcode_dark.webp'
import ChatGLMModelLogo from './assets/image/models/chatglm.png'
import ChatGLMModelLogoDark from './assets/image/models/chatglm_dark.png'
import ChatGptModelLogo from './assets/image/models/chatgpt.jpeg'
import ClaudeModelLogo from './assets/image/models/claude.png'
import ClaudeModelLogoDark from './assets/image/models/claude_dark.png'
import CodegeexModelLogo from './assets/image/models/codegeex.png'
import CodegeexModelLogoDark from './assets/image/models/codegeex_dark.png'
import CodestralModelLogo from './assets/image/models/codestral.png'
import CohereModelLogo from './assets/image/models/cohere.png'
import CohereModelLogoDark from './assets/image/models/cohere_dark.png'
import CopilotModelLogo from './assets/image/models/copilot.png'
import CopilotModelLogoDark from './assets/image/models/copilot_dark.png'
import DalleModelLogo from './assets/image/models/dalle.png'
import DalleModelLogoDark from './assets/image/models/dalle_dark.png'
import DbrxModelLogo from './assets/image/models/dbrx.png'
import DeepSeekModelLogo from './assets/image/models/deepseek.png'
import DeepSeekModelLogoDark from './assets/image/models/deepseek_dark.png'
import DianxinModelLogo from './assets/image/models/dianxin.png'
import DianxinModelLogoDark from './assets/image/models/dianxin_dark.png'
import DoubaoModelLogo from './assets/image/models/doubao.png'
import DoubaoModelLogoDark from './assets/image/models/doubao_dark.png'
import EmbeddingModelLogo from './assets/image/models/embedding.png'
import EmbeddingModelLogoDark from './assets/image/models/embedding.png'
import FlashaudioModelLogo from './assets/image/models/flashaudio.png'
import FlashaudioModelLogoDark from './assets/image/models/flashaudio_dark.png'
import FluxModelLogo from './assets/image/models/flux.png'
import FluxModelLogoDark from './assets/image/models/flux_dark.png'
import GeminiModelLogo from './assets/image/models/gemini.png'
import GeminiModelLogoDark from './assets/image/models/gemini_dark.png'
import GemmaModelLogo from './assets/image/models/gemma.png'
import GemmaModelLogoDark from './assets/image/models/gemma_dark.png'
import GoogleModelLogo from './assets/image/models/google.png'
import GoogleModelLogoDark from './assets/image/models/google.png'
import ChatGPT35ModelLogo from './assets/image/models/gpt_3.5.png'
import ChatGPT4ModelLogo from './assets/image/models/gpt_4.png'
import ChatGptModelLogoDark from './assets/image/models/gpt_dark.png'
import ChatGPT35ModelLogoDark from './assets/image/models/gpt_dark.png'
import ChatGPT4ModelLogoDark from './assets/image/models/gpt_dark.png'
import ChatGPTo1ModelLogoDark from './assets/image/models/gpt_dark.png'
import ChatGPTo1ModelLogo from './assets/image/models/gpt_o1.png'
import GrokModelLogo from './assets/image/models/grok.png'
import GrokModelLogoDark from './assets/image/models/grok_dark.png'
import GrypheModelLogo from './assets/image/models/gryphe.png'
import GrypheModelLogoDark from './assets/image/models/gryphe_dark.png'
import HailuoModelLogo from './assets/image/models/hailuo.png'
import HailuoModelLogoDark from './assets/image/models/hailuo_dark.png'
import HuggingfaceModelLogo from './assets/image/models/huggingface.png'
import HuggingfaceModelLogoDark from './assets/image/models/huggingface_dark.png'
import HunyuanModelLogo from './assets/image/models/hunyuan.png'
import HunyuanModelLogoDark from './assets/image/models/hunyuan_dark.png'
import IbmModelLogo from './assets/image/models/ibm.png'
import IbmModelLogoDark from './assets/image/models/ibm_dark.png'
import InternlmModelLogo from './assets/image/models/internlm.png'
import InternlmModelLogoDark from './assets/image/models/internlm_dark.png'
import InternvlModelLogo from './assets/image/models/internvl.png'
import JinaModelLogo from './assets/image/models/jina.png'
import JinaModelLogoDark from './assets/image/models/jina_dark.png'
import KeLingModelLogo from './assets/image/models/keling.png'
import KeLingModelLogoDark from './assets/image/models/keling_dark.png'
import LlamaModelLogo from './assets/image/models/llama.png'
import LlamaModelLogoDark from './assets/image/models/llama_dark.png'
import LLavaModelLogo from './assets/image/models/llava.png'
import LLavaModelLogoDark from './assets/image/models/llava_dark.png'
import LumaModelLogo from './assets/image/models/luma.png'
import LumaModelLogoDark from './assets/image/models/luma_dark.png'
import MagicModelLogo from './assets/image/models/magic.png'
import MagicModelLogoDark from './assets/image/models/magic_dark.png'
import MediatekModelLogo from './assets/image/models/mediatek.png'
import MediatekModelLogoDark from './assets/image/models/mediatek_dark.png'
import MicrosoftModelLogo from './assets/image/models/microsoft.png'
import MicrosoftModelLogoDark from './assets/image/models/microsoft_dark.png'
import MidjourneyModelLogo from './assets/image/models/midjourney.png'
import MidjourneyModelLogoDark from './assets/image/models/midjourney_dark.png'
import MinicpmModelLogo from './assets/image/models/minicpm.webp'
import MinicpmModelLogoDark from './assets/image/models/minicpm.webp'
import MinimaxModelLogo from './assets/image/models/minimax.png'
import MinimaxModelLogoDark from './assets/image/models/minimax_dark.png'
import MistralModelLogo from './assets/image/models/mixtral.png'
import MistralModelLogoDark from './assets/image/models/mixtral_dark.png'
import MoonshotModelLogo from './assets/image/models/moonshot.png'
import MoonshotModelLogoDark from './assets/image/models/moonshot_dark.png'
import NousResearchModelLogo from './assets/image/models/nousresearch.png'
import NousResearchModelLogoDark from './assets/image/models/nousresearch.png'
import NvidiaModelLogo from './assets/image/models/nvidia.png'
import NvidiaModelLogoDark from './assets/image/models/nvidia_dark.png'
import PalmModelLogo from './assets/image/models/palm.png'
import PalmModelLogoDark from './assets/image/models/palm_dark.png'
import PerplexityModelLogo from './assets/image/models/perplexity.png'
import PerplexityModelLogoDark from './assets/image/models/perplexity.png'
import PixtralModelLogo from './assets/image/models/pixtral.png'
import PixtralModelLogoDark from './assets/image/models/pixtral_dark.png'
import QwenModelLogo from './assets/image/models/qwen.png'
import QwenModelLogoDark from './assets/image/models/qwen_dark.png'
import RakutenaiModelLogo from './assets/image/models/rakutenai.png'
import RakutenaiModelLogoDark from './assets/image/models/rakutenai_dark.png'
import SparkDeskModelLogo from './assets/image/models/sparkdesk.png'
import SparkDeskModelLogoDark from './assets/image/models/sparkdesk_dark.png'
import StabilityModelLogo from './assets/image/models/stability.png'
import StabilityModelLogoDark from './assets/image/models/stability_dark.png'
import StepModelLogo from './assets/image/models/step.png'
import StepModelLogoDark from './assets/image/models/step_dark.png'
import SunoModelLogo from './assets/image/models/suno.png'
import SunoModelLogoDark from './assets/image/models/suno_dark.png'
import TeleModelLogo from './assets/image/models/tele.png'
import TeleModelLogoDark from './assets/image/models/tele_dark.png'
import UpstageModelLogo from './assets/image/models/upstage.png'
import UpstageModelLogoDark from './assets/image/models/upstage_dark.png'
import ViduModelLogo from './assets/image/models/vidu.png'
import ViduModelLogoDark from './assets/image/models/vidu_dark.png'
import VoyageModelLogo from './assets/image/models/voyageai.png'
import WenxinModelLogo from './assets/image/models/wenxin.png'
import WenxinModelLogoDark from './assets/image/models/wenxin_dark.png'
import XirangModelLogo from './assets/image/models/xirang.png'
import XirangModelLogoDark from './assets/image/models/xirang_dark.png'
import YiModelLogo from './assets/image/models/yi.png'
import YiModelLogoDark from './assets/image/models/yi_dark.png'
import {Model} from "./types";

export function getModelLogo(modelId: string) {
    const isLight = true

    if (!modelId) {
        return undefined
    }

    const logoMap = {
        'pixtral': isLight ? PixtralModelLogo : PixtralModelLogoDark,
        'jina': isLight ? JinaModelLogo : JinaModelLogoDark,
        'abab': isLight ? MinimaxModelLogo : MinimaxModelLogoDark,
        'minimax': isLight ? MinimaxModelLogo : MinimaxModelLogoDark,
        'o3': isLight ? ChatGPTo1ModelLogo : ChatGPTo1ModelLogoDark,
        'o1': isLight ? ChatGPTo1ModelLogo : ChatGPTo1ModelLogoDark,
        'gpt-3': isLight ? ChatGPT35ModelLogo : ChatGPT35ModelLogoDark,
        'gpt-4': isLight ? ChatGPT4ModelLogo : ChatGPT4ModelLogoDark,
        'gpts': isLight ? ChatGPT4ModelLogo : ChatGPT4ModelLogoDark,
        'text-moderation': isLight ? ChatGptModelLogo : ChatGptModelLogoDark,
        'babbage-': isLight ? ChatGptModelLogo : ChatGptModelLogoDark,
        'sora-': isLight ? ChatGptModelLogo : ChatGptModelLogoDark,
        '(^|/)omni-': isLight ? ChatGptModelLogo : ChatGptModelLogoDark,
        'Embedding-V1': isLight ? WenxinModelLogo : WenxinModelLogoDark,
        'text-embedding-v': isLight ? QwenModelLogo : QwenModelLogoDark,
        'text-embedding': isLight ? ChatGptModelLogo : ChatGptModelLogoDark,
        'davinci-': isLight ? ChatGptModelLogo : ChatGptModelLogoDark,
        'glm': isLight ? ChatGLMModelLogo : ChatGLMModelLogoDark,
        'deepseek': isLight ? DeepSeekModelLogo : DeepSeekModelLogoDark,
        '(qwen|qwq-|qvq-)': isLight ? QwenModelLogo : QwenModelLogoDark,
        'gemma': isLight ? GemmaModelLogo : GemmaModelLogoDark,
        'yi-': isLight ? YiModelLogo : YiModelLogoDark,
        'llama': isLight ? LlamaModelLogo : LlamaModelLogoDark,
        'mixtral': isLight ? MistralModelLogo : MistralModelLogo,
        'mistral': isLight ? MistralModelLogo : MistralModelLogoDark,
        'codestral': CodestralModelLogo,
        'ministral': isLight ? MistralModelLogo : MistralModelLogoDark,
        'moonshot': isLight ? MoonshotModelLogo : MoonshotModelLogoDark,
        'kimi': isLight ? MoonshotModelLogo : MoonshotModelLogoDark,
        'phi': isLight ? MicrosoftModelLogo : MicrosoftModelLogoDark,
        'baichuan': isLight ? BaichuanModelLogo : BaichuanModelLogoDark,
        'claude': isLight ? ClaudeModelLogo : ClaudeModelLogoDark,
        'gemini': isLight ? GeminiModelLogo : GeminiModelLogoDark,
        'bison': isLight ? PalmModelLogo : PalmModelLogoDark,
        'palm': isLight ? PalmModelLogo : PalmModelLogoDark,
        'step': isLight ? StepModelLogo : StepModelLogoDark,
        'hailuo': isLight ? HailuoModelLogo : HailuoModelLogoDark,
        'doubao': isLight ? DoubaoModelLogo : DoubaoModelLogoDark,
        'ep-202': isLight ? DoubaoModelLogo : DoubaoModelLogoDark,
        'cohere': isLight ? CohereModelLogo : CohereModelLogoDark,
        'command': isLight ? CohereModelLogo : CohereModelLogoDark,
        'minicpm': isLight ? MinicpmModelLogo : MinicpmModelLogoDark,
        '360': isLight ? Ai360ModelLogo : Ai360ModelLogoDark,
        'aimass': isLight ? AimassModelLogo : AimassModelLogoDark,
        'codegeex': isLight ? CodegeexModelLogo : CodegeexModelLogoDark,
        'copilot': isLight ? CopilotModelLogo : CopilotModelLogoDark,
        'creative': isLight ? CopilotModelLogo : CopilotModelLogoDark,
        'balanced': isLight ? CopilotModelLogo : CopilotModelLogoDark,
        'precise': isLight ? CopilotModelLogo : CopilotModelLogoDark,
        'dalle': isLight ? DalleModelLogo : DalleModelLogoDark,
        'dall-e': isLight ? DalleModelLogo : DalleModelLogoDark,
        'dbrx': isLight ? DbrxModelLogo : DbrxModelLogo,
        'flashaudio': isLight ? FlashaudioModelLogo : FlashaudioModelLogoDark,
        'flux': isLight ? FluxModelLogo : FluxModelLogoDark,
        'grok': isLight ? GrokModelLogo : GrokModelLogoDark,
        'hunyuan': isLight ? HunyuanModelLogo : HunyuanModelLogoDark,
        'internlm': isLight ? InternlmModelLogo : InternlmModelLogoDark,
        'internvl': InternvlModelLogo,
        'llava': isLight ? LLavaModelLogo : LLavaModelLogoDark,
        'magic': isLight ? MagicModelLogo : MagicModelLogoDark,
        'midjourney': isLight ? MidjourneyModelLogo : MidjourneyModelLogoDark,
        'mj-': isLight ? MidjourneyModelLogo : MidjourneyModelLogoDark,
        'tao-': isLight ? WenxinModelLogo : WenxinModelLogoDark,
        'ernie-': isLight ? WenxinModelLogo : WenxinModelLogoDark,
        'voice': isLight ? FlashaudioModelLogo : FlashaudioModelLogoDark,
        'tts-1': isLight ? ChatGptModelLogo : ChatGptModelLogoDark,
        'whisper-': isLight ? ChatGptModelLogo : ChatGptModelLogoDark,
        'stable-': isLight ? StabilityModelLogo : StabilityModelLogoDark,
        'sd2': isLight ? StabilityModelLogo : StabilityModelLogoDark,
        'sd3': isLight ? StabilityModelLogo : StabilityModelLogoDark,
        'sdxl': isLight ? StabilityModelLogo : StabilityModelLogoDark,
        'sparkdesk': isLight ? SparkDeskModelLogo : SparkDeskModelLogoDark,
        'generalv': isLight ? SparkDeskModelLogo : SparkDeskModelLogoDark,
        'wizardlm': isLight ? MicrosoftModelLogo : MicrosoftModelLogoDark,
        'microsoft': isLight ? MicrosoftModelLogo : MicrosoftModelLogoDark,
        'hermes': isLight ? NousResearchModelLogo : NousResearchModelLogoDark,
        'gryphe': isLight ? GrypheModelLogo : GrypheModelLogoDark,
        'suno': isLight ? SunoModelLogo : SunoModelLogoDark,
        'chirp': isLight ? SunoModelLogo : SunoModelLogoDark,
        'luma': isLight ? LumaModelLogo : LumaModelLogoDark,
        'keling': isLight ? KeLingModelLogo : KeLingModelLogoDark,
        'vidu-': isLight ? ViduModelLogo : ViduModelLogoDark,
        'ai21': isLight ? Ai21ModelLogo : Ai21ModelLogoDark,
        'jamba-': isLight ? Ai21ModelLogo : Ai21ModelLogoDark,
        'mythomax': isLight ? GrypheModelLogo : GrypheModelLogoDark,
        'nvidia': isLight ? NvidiaModelLogo : NvidiaModelLogoDark,
        'dianxin': isLight ? DianxinModelLogo : DianxinModelLogoDark,
        'tele': isLight ? TeleModelLogo : TeleModelLogoDark,
        'adept': isLight ? AdeptModelLogo : AdeptModelLogoDark,
        'aisingapore': isLight ? AisingaporeModelLogo : AisingaporeModelLogoDark,
        'bigcode': isLight ? BigcodeModelLogo : BigcodeModelLogoDark,
        'mediatek': isLight ? MediatekModelLogo : MediatekModelLogoDark,
        'upstage': isLight ? UpstageModelLogo : UpstageModelLogoDark,
        'rakutenai': isLight ? RakutenaiModelLogo : RakutenaiModelLogoDark,
        'ibm': isLight ? IbmModelLogo : IbmModelLogoDark,
        'google/': isLight ? GoogleModelLogo : GoogleModelLogoDark,
        'xirang': isLight ? XirangModelLogo : XirangModelLogoDark,
        'hugging': isLight ? HuggingfaceModelLogo : HuggingfaceModelLogoDark,
        'embedding': isLight ? EmbeddingModelLogo : EmbeddingModelLogoDark,
        'perplexity': isLight ? PerplexityModelLogo : PerplexityModelLogoDark,
        'sonar': isLight ? PerplexityModelLogo : PerplexityModelLogoDark,
        'bge-': BgeModelLogo,
        'voyage-': VoyageModelLogo
    }

    for (const key in logoMap) {
        const regex = new RegExp(key, 'i')
        if (regex.test(modelId)) {
            return logoMap[key]
        }
    }

    return isLight ? ChatGptModelLogo : ChatGptModelLogoDark
}

export const SystemModels: Record<string, Partial<Model>[]> = {
    aihubmix: [
        {
            id: 'gpt-4o',
            provider: 'aihubmix',
            name: 'GPT-4o',
            group: 'GPT-4o'
        },
        {
            id: 'claude-3-5-sonnet-latest',
            provider: 'aihubmix',
            name: 'Claude 3.5 Sonnet',
            group: 'Claude 3.5'
        },
        {
            id: 'gemini-2.0-flash-exp-search',
            provider: 'aihubmix',
            name: 'Gemini 2.0 Flash Exp Search',
            group: 'Gemini 2.0'
        },
        {
            id: 'deepseek-chat',
            provider: 'aihubmix',
            name: 'DeepSeek Chat',
            group: 'DeepSeek Chat'
        },
        {
            id: 'aihubmix-Llama-3-3-70B-Instruct',
            provider: 'aihubmix',
            name: 'Llama-3.3-70b',
            group: 'Llama 3.3'
        },
        {
            id: 'Qwen/QVQ-72B-Preview',
            provider: 'aihubmix',
            name: 'Qwen/QVQ-72B',
            group: 'Qwen'
        }
    ],
    o3: [
        {
            id: 'gpt-4o',
            provider: 'o3',
            name: 'GPT-4o',
            group: 'OpenAI'
        },
        {
            id: 'o1-mini',
            provider: 'o3',
            name: 'o1-mini',
            group: 'OpenAI'
        },
        {
            id: 'o1-preview',
            provider: 'o3',
            name: 'o1-preview',
            group: 'OpenAI'
        },
        {
            id: 'o3-mini',
            provider: 'o3',
            name: 'o3-mini',
            group: 'OpenAI'
        },
        {
            id: 'o3-mini-high',
            provider: 'o3',
            name: 'o3-mini-high',
            group: 'OpenAI'
        },
        {
            id: 'claude-3-7-sonnet-20250219',
            provider: 'o3',
            name: 'claude-3-7-sonnet-20250219',
            group: 'Anthropic'
        },
        {
            id: 'claude-3-5-sonnet-20241022',
            provider: 'o3',
            name: 'claude-3-5-sonnet-20241022',
            group: 'Anthropic'
        },
        {
            id: 'claude-3-5-haiku-20241022',
            provider: 'o3',
            name: 'claude-3-5-haiku-20241022',
            group: 'Anthropic'
        },
        {
            id: 'claude-3-opus-20240229',
            provider: 'o3',
            name: 'claude-3-opus-20240229',
            group: 'Anthropic'
        },
        {
            id: 'claude-3-haiku-20240307',
            provider: 'o3',
            name: 'claude-3-haiku-20240307',
            group: 'Anthropic'
        },
        {
            id: 'claude-3-5-sonnet-20240620',
            provider: 'o3',
            name: 'claude-3-5-sonnet-20240620',
            group: 'Anthropic'
        },
        {
            id: 'deepseek-ai/Deepseek-R1',
            provider: 'o3',
            name: 'DeepSeek R1',
            group: 'DeepSeek'
        },
        {
            id: 'deepseek-reasoner',
            provider: 'o3',
            name: 'deepseek-reasoner',
            group: 'DeepSeek'
        },
        {
            id: 'deepseek-chat',
            provider: 'o3',
            name: 'deepseek-chat',
            group: 'DeepSeek'
        },
        {
            id: 'deepseek-ai/DeepSeek-V3',
            provider: 'o3',
            name: 'DeepSeek V3',
            group: 'DeepSeek'
        },
        {
            id: 'text-embedding-3-small',
            provider: 'o3',
            name: 'text-embedding-3-small',
            group: '嵌入模型'
        },
        {
            id: 'text-embedding-ada-002',
            provider: 'o3',
            name: 'text-embedding-ada-002',
            group: '嵌入模型'
        },
        {
            id: 'text-embedding-v2',
            provider: 'o3',
            name: 'text-embedding-v2',
            group: '嵌入模型'
        },
        {
            id: 'Doubao-embedding',
            provider: 'o3',
            name: 'Doubao-embedding',
            group: '嵌入模型'
        },
        {
            id: 'Doubao-embedding-large',
            provider: 'o3',
            name: 'Doubao-embedding-large',
            group: '嵌入模型'
        }
    ],
    ollama: [],
    lmstudio: [],
    silicon: [
        {
            id: 'deepseek-ai/DeepSeek-R1',
            name: 'deepseek-ai/DeepSeek-R1',
            provider: 'silicon',
            group: 'deepseek-ai'
        },
        {
            id: 'deepseek-ai/DeepSeek-V3',
            name: 'deepseek-ai/DeepSeek-V3',
            provider: 'silicon',
            group: 'deepseek-ai'
        },
        {
            id: 'Qwen/Qwen2.5-7B-Instruct',
            provider: 'silicon',
            name: 'Qwen2.5-7B-Instruct',
            group: 'Qwen'
        },
        {
            id: 'meta-llama/Llama-3.3-70B-Instruct',
            name: 'meta-llama/Llama-3.3-70B-Instruct',
            provider: 'silicon',
            group: 'meta-llama'
        },
        {
            id: 'BAAI/bge-m3',
            name: 'BAAI/bge-m3',
            provider: 'silicon',
            group: 'BAAI'
        }
    ],
    ppio: [
        {
            id: 'deepseek/deepseek-r1/community',
            name: 'DeepSeek: DeepSeek R1 (Community)',
            provider: 'ppio',
            group: 'deepseek'
        },
        {
            id: 'deepseek/deepseek-v3/community',
            name: 'DeepSeek: DeepSeek V3 (Community)',
            provider: 'ppio',
            group: 'deepseek'
        },
        {
            id: 'deepseek/deepseek-r1',
            provider: 'ppio',
            name: 'DeepSeek R1',
            group: 'deepseek'
        },
        {
            id: 'deepseek/deepseek-v3',
            provider: 'ppio',
            name: 'DeepSeek V3',
            group: 'deepseek'
        },
        {
            id: 'qwen/qwen-2.5-72b-instruct',
            provider: 'ppio',
            name: 'Qwen2.5-72B-Instruct',
            group: 'qwen'
        },
        {
            id: 'qwen/qwen2.5-32b-instruct',
            provider: 'ppio',
            name: 'Qwen2.5-32B-Instruct',
            group: 'qwen'
        },
        {
            id: 'meta-llama/llama-3.1-70b-instruct',
            provider: 'ppio',
            name: 'Llama-3.1-70B-Instruct',
            group: 'meta-llama'
        },
        {
            id: 'meta-llama/llama-3.1-8b-instruct',
            provider: 'ppio',
            name: 'Llama-3.1-8B-Instruct',
            group: 'meta-llama'
        },
        {
            id: '01-ai/yi-1.5-34b-chat',
            provider: 'ppio',
            name: 'Yi-1.5-34B-Chat',
            group: '01-ai'
        },
        {
            id: '01-ai/yi-1.5-9b-chat',
            provider: 'ppio',
            name: 'Yi-1.5-9B-Chat',
            group: '01-ai'
        }
    ],
    alayanew: [],
    openai: [
        {id: 'gpt-4.5-preview', provider: 'openai', name: 'gpt-4.5-preview', group: 'gpt-4.5'},
        {id: 'gpt-4o', provider: 'openai', name: 'GPT-4o', group: 'GPT 4o'},
        {id: 'gpt-4o-mini', provider: 'openai', name: 'GPT-4o-mini', group: 'GPT 4o'},
        {id: 'o1-mini', provider: 'openai', name: 'o1-mini', group: 'o1'},
        {id: 'o1-preview', provider: 'openai', name: 'o1-preview', group: 'o1'}
    ],
    'azure-openai': [
        {
            id: 'gpt-4o',
            provider: 'azure-openai',
            name: 'GPT-4o',
            group: 'GPT 4o'
        },
        {
            id: 'gpt-4o-mini',
            provider: 'azure-openai',
            name: 'GPT-4o-mini',
            group: 'GPT 4o'
        }
    ],
    gemini: [
        {
            id: 'gemini-1.5-flash',
            provider: 'gemini',
            name: 'Gemini 1.5 Flash',
            group: 'Gemini 1.5'
        },
        {
            id: 'gemini-1.5-flash-8b',
            provider: 'gemini',
            name: 'Gemini 1.5 Flash (8B)',
            group: 'Gemini 1.5'
        },
        {
            id: 'gemini-1.5-pro',
            name: 'Gemini 1.5 Pro',
            provider: 'gemini',
            group: 'Gemini 1.5'
        },
        {
            id: 'gemini-2.0-flash',
            provider: 'gemini',
            name: 'Gemini 2.0 Flash',
            group: 'Gemini 2.0'
        }
    ],
    anthropic: [
        {
            id: 'claude-3-7-sonnet-20250219',
            provider: 'anthropic',
            name: 'Claude 3.7 Sonnet',
            group: 'Claude 3.7'
        },
        {
            id: 'claude-3-5-sonnet-20241022',
            provider: 'anthropic',
            name: 'Claude 3.5 Sonnet',
            group: 'Claude 3.5'
        },
        {
            id: 'claude-3-5-haiku-20241022',
            provider: 'anthropic',
            name: 'Claude 3.5 Haiku',
            group: 'Claude 3.5'
        },
        {
            id: 'claude-3-5-sonnet-20240620',
            provider: 'anthropic',
            name: 'Claude 3.5 Sonnet (Legacy)',
            group: 'Claude 3.5'
        },
        {
            id: 'claude-3-opus-20240229',
            provider: 'anthropic',
            name: 'Claude 3 Opus',
            group: 'Claude 3'
        },
        {
            id: 'claude-3-haiku-20240307',
            provider: 'anthropic',
            name: 'Claude 3 Haiku',
            group: 'Claude 3'
        }
    ],
    'gitee-ai': [
        {
            id: 'DeepSeek-R1-Distill-Qwen-32B',
            name: 'DeepSeek-R1-Distill-Qwen-32B',
            provider: 'gitee-ai',
            group: 'DeepSeek'
        },
        {
            id: 'DeepSeek-R1-Distill-Qwen-1.5B',
            name: 'DeepSeek-R1-Distill-Qwen-1.5B',
            provider: 'gitee-ai',
            group: 'DeepSeek'
        },
        {
            id: 'DeepSeek-R1-Distill-Qwen-14B',
            name: 'DeepSeek-R1-Distill-Qwen-14B',
            provider: 'gitee-ai',
            group: 'DeepSeek'
        },
        {
            id: 'DeepSeek-R1-Distill-Qwen-7B',
            name: 'DeepSeek-R1-Distill-Qwen-7B',
            provider: 'gitee-ai',
            group: 'DeepSeek'
        },
        {
            id: 'DeepSeek-V3',
            name: 'DeepSeek-V3',
            provider: 'gitee-ai',
            group: 'DeepSeek'
        },
        {
            id: 'DeepSeek-R1',
            name: 'DeepSeek-R1',
            provider: 'gitee-ai',
            group: 'DeepSeek'
        },
        {
            id: 'deepseek-coder-33B-instruct',
            name: 'deepseek-coder-33B-instruct',
            provider: 'gitee-ai',
            group: 'DeepSeek'
        },
        {
            id: 'Qwen2.5-72B-Instruct',
            name: 'Qwen2.5-72B-Instruct',
            provider: 'gitee-ai',
            group: 'Qwen'
        },
        {
            id: 'Qwen2.5-14B-Instruct',
            name: 'Qwen2.5-14B-Instruct',
            provider: 'gitee-ai',
            group: 'Qwen'
        },
        {
            id: 'Qwen2-7B-Instruct',
            name: 'Qwen2-7B-Instruct',
            provider: 'gitee-ai',
            group: 'Qwen'
        },
        {
            id: 'Qwen2.5-32B-Instruct',
            name: 'Qwen2.5-32B-Instruct',
            provider: 'gitee-ai',
            group: 'Qwen'
        },
        {
            id: 'Qwen2-72B-Instruct',
            name: 'Qwen2-72B-Instruct',
            provider: 'gitee-ai',
            group: 'Qwen'
        },
        {
            id: 'Qwen2-VL-72B',
            name: 'Qwen2-VL-72B',
            provider: 'gitee-ai',
            group: 'Qwen'
        },
        {
            id: 'QwQ-32B-Preview',
            name: 'QwQ-32B-Preview',
            provider: 'gitee-ai',
            group: 'Qwen'
        },
        {
            id: 'Yi-34B-Chat',
            name: 'Yi-34B-Chat',
            provider: 'gitee-ai',
            group: '01-ai'
        },
        {
            id: 'glm-4-9b-chat',
            name: 'glm-4-9b-chat',
            provider: 'gitee-ai',
            group: 'THUDM'
        },
        {
            id: 'codegeex4-all-9b',
            name: 'codegeex4-all-9b',
            provider: 'gitee-ai',
            group: 'THUDM'
        },
        {
            id: 'InternVL2-8B',
            name: 'InternVL2-8B',
            provider: 'gitee-ai',
            group: 'OpenGVLab'
        },
        {
            id: 'InternVL2.5-26B',
            name: 'InternVL2.5-26B',
            provider: 'gitee-ai',
            group: 'OpenGVLab'
        },
        {
            id: 'InternVL2.5-78B',
            name: 'InternVL2.5-78B',
            provider: 'gitee-ai',
            group: 'OpenGVLab'
        },
        {
            id: 'bge-large-zh-v1.5',
            name: 'bge-large-zh-v1.5',
            provider: 'gitee-ai',
            group: 'BAAI'
        },
        {
            id: 'bge-small-zh-v1.5',
            name: 'bge-small-zh-v1.5',
            provider: 'gitee-ai',
            group: 'BAAI'
        },
        {
            id: 'bge-m3',
            name: 'bge-m3',
            provider: 'gitee-ai',
            group: 'BAAI'
        },
        {
            id: 'bce-embedding-base_v1',
            name: 'bce-embedding-base_v1',
            provider: 'gitee-ai',
            group: 'netease-youdao'
        }
    ],
    deepseek: [
        {
            id: 'deepseek-chat',
            provider: 'deepseek',
            name: 'DeepSeek Chat',
            group: 'DeepSeek Chat'
        },
        {
            id: 'deepseek-reasoner',
            provider: 'deepseek',
            name: 'DeepSeek Reasoner',
            group: 'DeepSeek Reasoner'
        }
    ],
    together: [
        {
            id: 'meta-llama/Llama-3.2-11B-Vision-Instruct-Turbo',
            provider: 'together',
            name: 'Llama-3.2-11B-Vision',
            group: 'Llama-3.2'
        },
        {
            id: 'meta-llama/Llama-3.2-90B-Vision-Instruct-Turbo',
            provider: 'together',
            name: 'Llama-3.2-90B-Vision',
            group: 'Llama-3.2'
        },
        {
            id: 'google/gemma-2-27b-it',
            provider: 'together',
            name: 'gemma-2-27b-it',
            group: 'Gemma'
        },
        {
            id: 'google/gemma-2-9b-it',
            provider: 'together',
            name: 'gemma-2-9b-it',
            group: 'Gemma'
        }
    ],
    ocoolai: [
        {
            id: 'deepseek-chat',
            provider: 'ocoolai',
            name: 'deepseek-chat',
            group: 'DeepSeek'
        },
        {
            id: 'deepseek-reasoner',
            provider: 'ocoolai',
            name: 'deepseek-reasoner',
            group: 'DeepSeek'
        },
        {
            id: 'deepseek-ai/DeepSeek-R1',
            provider: 'ocoolai',
            name: 'deepseek-ai/DeepSeek-R1',
            group: 'DeepSeek'
        },
        {
            id: 'HiSpeed/DeepSeek-R1',
            provider: 'ocoolai',
            name: 'HiSpeed/DeepSeek-R1',
            group: 'DeepSeek'
        },
        {
            id: 'ocoolAI/DeepSeek-R1',
            provider: 'ocoolai',
            name: 'ocoolAI/DeepSeek-R1',
            group: 'DeepSeek'
        },
        {
            id: 'Azure/DeepSeek-R1',
            provider: 'ocoolai',
            name: 'Azure/DeepSeek-R1',
            group: 'DeepSeek'
        },
        {
            id: 'gpt-4o',
            provider: 'ocoolai',
            name: 'gpt-4o',
            group: 'OpenAI'
        },
        {
            id: 'gpt-4o-all',
            provider: 'ocoolai',
            name: 'gpt-4o-all',
            group: 'OpenAI'
        },
        {
            id: 'gpt-4o-mini',
            provider: 'ocoolai',
            name: 'gpt-4o-mini',
            group: 'OpenAI'
        },
        {
            id: 'gpt-4',
            provider: 'ocoolai',
            name: 'gpt-4',
            group: 'OpenAI'
        },
        {
            id: 'o1-preview',
            provider: 'ocoolai',
            name: 'o1-preview',
            group: 'OpenAI'
        },
        {
            id: 'o1-mini',
            provider: 'ocoolai',
            name: 'o1-mini',
            group: 'OpenAI'
        },
        {
            id: 'claude-3-5-sonnet-20240620',
            provider: 'ocoolai',
            name: 'claude-3-5-sonnet-20240620',
            group: 'Anthropic'
        },
        {
            id: 'claude-3-5-haiku-20241022',
            provider: 'ocoolai',
            name: 'claude-3-5-haiku-20241022',
            group: 'Anthropic'
        },
        {
            id: 'gemini-pro',
            provider: 'ocoolai',
            name: 'gemini-pro',
            group: 'Gemini'
        },
        {
            id: 'gemini-1.5-pro',
            provider: 'ocoolai',
            name: 'gemini-1.5-pro',
            group: 'Gemini'
        },
        {
            id: 'meta-llama/Llama-3.2-90B-Vision-Instruct-Turbo',
            provider: 'ocoolai',
            name: 'Llama-3.2-90B-Vision-Instruct-Turbo',
            group: 'Llama-3.2'
        },
        {
            id: 'meta-llama/Llama-3.2-11B-Vision-Instruct-Turbo',
            provider: 'ocoolai',
            name: 'Llama-3.2-11B-Vision-Instruct-Turbo',
            group: 'Llama-3.2'
        },
        {
            id: 'meta-llama/Llama-3.2-3B-Vision-Instruct-Turbo',
            provider: 'ocoolai',
            name: 'Llama-3.2-3B-Vision-Instruct-Turbo',
            group: 'Llama-3.2'
        },
        {
            id: 'google/gemma-2-27b-it',
            provider: 'ocoolai',
            name: 'gemma-2-27b-it',
            group: 'Gemma'
        },
        {
            id: 'google/gemma-2-9b-it',
            provider: 'ocoolai',
            name: 'gemma-2-9b-it',
            group: 'Gemma'
        },
        {
            id: 'Doubao-embedding',
            provider: 'ocoolai',
            name: 'Doubao-embedding',
            group: 'Doubao'
        },
        {
            id: 'text-embedding-3-large',
            provider: 'ocoolai',
            name: 'text-embedding-3-large',
            group: 'Embedding'
        },
        {
            id: 'text-embedding-3-small',
            provider: 'ocoolai',
            name: 'text-embedding-3-small',
            group: 'Embedding'
        },
        {
            id: 'text-embedding-v2',
            provider: 'ocoolai',
            name: 'text-embedding-v2',
            group: 'Embedding'
        }
    ],
    github: [
        {
            id: 'gpt-4o',
            provider: 'github',
            name: 'OpenAI GPT-4o',
            group: 'OpenAI'
        }
    ],
    copilot: [
        {
            id: 'gpt-4o-mini',
            provider: 'copilot',
            name: 'OpenAI GPT-4o-mini',
            group: 'OpenAI'
        }
    ],
    yi: [
        {id: 'yi-lightning', name: 'Yi Lightning', provider: 'yi', group: 'yi-lightning'},
        {id: 'yi-vision-v2', name: 'Yi Vision v2', provider: 'yi', group: 'yi-vision'}
    ],
    zhipu: [
        {
            id: 'glm-zero-preview',
            provider: 'zhipu',
            name: 'GLM-Zero-Preview',
            group: 'GLM-Zero'
        },
        {
            id: 'glm-4-0520',
            provider: 'zhipu',
            name: 'GLM-4-0520',
            group: 'GLM-4'
        },
        {
            id: 'glm-4-long',
            provider: 'zhipu',
            name: 'GLM-4-Long',
            group: 'GLM-4'
        },
        {
            id: 'glm-4-plus',
            provider: 'zhipu',
            name: 'GLM-4-Plus',
            group: 'GLM-4'
        },
        {
            id: 'glm-4-air',
            provider: 'zhipu',
            name: 'GLM-4-Air',
            group: 'GLM-4'
        },
        {
            id: 'glm-4-airx',
            provider: 'zhipu',
            name: 'GLM-4-AirX',
            group: 'GLM-4'
        },
        {
            id: 'glm-4-flash',
            provider: 'zhipu',
            name: 'GLM-4-Flash',
            group: 'GLM-4'
        },
        {
            id: 'glm-4-flashx',
            provider: 'zhipu',
            name: 'GLM-4-FlashX',
            group: 'GLM-4'
        },
        {
            id: 'glm-4v',
            provider: 'zhipu',
            name: 'GLM 4V',
            group: 'GLM-4v'
        },
        {
            id: 'glm-4v-flash',
            provider: 'zhipu',
            name: 'GLM-4V-Flash',
            group: 'GLM-4v'
        },
        {
            id: 'glm-4v-plus',
            provider: 'zhipu',
            name: 'GLM-4V-Plus',
            group: 'GLM-4v'
        },
        {
            id: 'glm-4-alltools',
            provider: 'zhipu',
            name: 'GLM-4-AllTools',
            group: 'GLM-4-AllTools'
        },
        {
            id: 'embedding-3',
            provider: 'zhipu',
            name: 'Embedding-3',
            group: 'Embedding'
        }
    ],
    moonshot: [
        {
            id: 'moonshot-v1-auto',
            name: 'moonshot-v1-auto',
            provider: 'moonshot',
            group: 'moonshot-v1',
        }
    ],
    baichuan: [
        {
            id: 'Baichuan4',
            provider: 'baichuan',
            name: 'Baichuan4',
            group: 'Baichuan4'
        },
        {
            id: 'Baichuan3-Turbo',
            provider: 'baichuan',
            name: 'Baichuan3 Turbo',
            group: 'Baichuan3'
        },
        {
            id: 'Baichuan3-Turbo-128k',
            provider: 'baichuan',
            name: 'Baichuan3 Turbo 128k',
            group: 'Baichuan3'
        }
    ],
    modelscope: [
        {
            id: 'Qwen/Qwen2.5-72B-Instruct',
            name: 'Qwen/Qwen2.5-72B-Instruct',
            provider: 'modelscope',
            group: 'Qwen'
        },
        {
            id: 'Qwen/Qwen2.5-VL-72B-Instruct',
            name: 'Qwen/Qwen2.5-VL-72B-Instruct',
            provider: 'modelscope',
            group: 'Qwen'
        },
        {
            id: 'Qwen/Qwen2.5-Coder-32B-Instruct',
            name: 'Qwen/Qwen2.5-Coder-32B-Instruct',
            provider: 'modelscope',
            group: 'Qwen'
        },
        {
            id: 'deepseek-ai/DeepSeek-R1',
            name: 'deepseek-ai/DeepSeek-R1',
            provider: 'modelscope',
            group: 'deepseek-ai'
        },
        {
            id: 'deepseek-ai/DeepSeek-V3',
            name: 'deepseek-ai/DeepSeek-V3',
            provider: 'modelscope',
            group: 'deepseek-ai'
        }
    ],
    bailian: [
        {id: 'qwen-vl-plus', name: 'qwen-vl-plus', provider: 'dashscope', group: 'qwen-vl'},
        {
            id: 'qwen-coder-plus',
            name: 'qwen-coder-plus',
            provider: 'dashscope',
            group: 'qwen-coder',
        },
        {id: 'qwen-turbo', name: 'qwen-turbo', provider: 'dashscope', group: 'qwen-turbo'},
        {id: 'qwen-plus', name: 'qwen-plus', provider: 'dashscope', group: 'qwen-plus'},
        {id: 'qwen-max', name: 'qwen-max', provider: 'dashscope', group: 'qwen-max'}
    ],
    stepfun: [
        {
            id: 'step-1-8k',
            provider: 'stepfun',
            name: 'Step 1 8K',
            group: 'Step 1'
        },
        {
            id: 'step-1-flash',
            provider: 'stepfun',
            name: 'Step 1 Flash',
            group: 'Step 1'
        }
    ],
    doubao: [],
    minimax: [
        {
            id: 'abab6.5s-chat',
            provider: 'minimax',
            name: 'abab6.5s',
            group: 'abab6'
        },
        {
            id: 'abab6.5g-chat',
            provider: 'minimax',
            name: 'abab6.5g',
            group: 'abab6'
        },
        {
            id: 'abab6.5t-chat',
            provider: 'minimax',
            name: 'abab6.5t',
            group: 'abab6'
        },
        {
            id: 'abab5.5s-chat',
            provider: 'minimax',
            name: 'abab5.5s',
            group: 'abab5'
        },
        {
            id: 'minimax-text-01',
            provider: 'minimax',
            name: 'minimax-01',
            group: 'minimax-01'
        }
    ],
    hyperbolic: [
        {
            id: 'Qwen/Qwen2-VL-72B-Instruct',
            provider: 'hyperbolic',
            name: 'Qwen2-VL-72B-Instruct',
            group: 'Qwen2-VL'
        },
        {
            id: 'Qwen/Qwen2-VL-7B-Instruct',
            provider: 'hyperbolic',
            name: 'Qwen2-VL-7B-Instruct',
            group: 'Qwen2-VL'
        },
        {
            id: 'mistralai/Pixtral-12B-2409',
            provider: 'hyperbolic',
            name: 'Pixtral-12B-2409',
            group: 'Pixtral'
        },
        {
            id: 'meta-llama/Meta-Llama-3.1-405B',
            provider: 'hyperbolic',
            name: 'Meta-Llama-3.1-405B',
            group: 'Meta-Llama-3.1'
        }
    ],
    grok: [
        {
            id: 'grok-beta',
            provider: 'grok',
            name: 'Grok Beta',
            group: 'Grok'
        },
        {
            id: 'grok-vision-beta',
            provider: 'grok',
            name: 'Grok Vision Beta',
            group: 'Grok'
        }
    ],
    mistral: [
        {
            id: 'pixtral-12b-2409',
            provider: 'mistral',
            name: 'Pixtral 12B [Free]',
            group: 'Pixtral'
        },
        {
            id: 'pixtral-large-latest',
            provider: 'mistral',
            name: 'Pixtral Large',
            group: 'Pixtral'
        },
        {
            id: 'ministral-3b-latest',
            provider: 'mistral',
            name: 'Mistral 3B [Free]',
            group: 'Mistral Mini'
        },
        {
            id: 'ministral-8b-latest',
            provider: 'mistral',
            name: 'Mistral 8B [Free]',
            group: 'Mistral Mini'
        },
        {
            id: 'codestral-latest',
            provider: 'mistral',
            name: 'Mistral Codestral',
            group: 'Mistral Code'
        },
        {
            id: 'mistral-large-latest',
            provider: 'mistral',
            name: 'Mistral Large',
            group: 'Mistral Chat'
        },
        {
            id: 'mistral-small-latest',
            provider: 'mistral',
            name: 'Mistral Small',
            group: 'Mistral Chat'
        },
        {
            id: 'open-mistral-nemo',
            provider: 'mistral',
            name: 'Mistral Nemo',
            group: 'Mistral Chat'
        },
        {
            id: 'mistral-embed',
            provider: 'mistral',
            name: 'Mistral Embedding',
            group: 'Mistral Embed'
        }
    ],
    jina: [
        {
            id: 'jina-clip-v1',
            provider: 'jina',
            name: 'jina-clip-v1',
            group: 'Jina Clip'
        },
        {
            id: 'jina-clip-v2',
            provider: 'jina',
            name: 'jina-clip-v2',
            group: 'Jina Clip'
        },
        {
            id: 'jina-embeddings-v2-base-en',
            provider: 'jina',
            name: 'jina-embeddings-v2-base-en',
            group: 'Jina Embeddings V2'
        },
        {
            id: 'jina-embeddings-v2-base-es',
            provider: 'jina',
            name: 'jina-embeddings-v2-base-es',
            group: 'Jina Embeddings V2'
        },
        {
            id: 'jina-embeddings-v2-base-de',
            provider: 'jina',
            name: 'jina-embeddings-v2-base-de',
            group: 'Jina Embeddings V2'
        },
        {
            id: 'jina-embeddings-v2-base-zh',
            provider: 'jina',
            name: 'jina-embeddings-v2-base-zh',
            group: 'Jina Embeddings V2'
        },
        {
            id: 'jina-embeddings-v2-base-code',
            provider: 'jina',
            name: 'jina-embeddings-v2-base-code',
            group: 'Jina Embeddings V2'
        },
        {
            id: 'jina-embeddings-v3',
            provider: 'jina',
            name: 'jina-embeddings-v3',
            group: 'Jina Embeddings V3'
        }
    ],
    fireworks: [
        {
            id: 'accounts/fireworks/models/mythomax-l2-13b',
            provider: 'fireworks',
            name: 'mythomax-l2-13b',
            group: 'Gryphe'
        },
        {
            id: 'accounts/fireworks/models/llama-v3-70b-instruct',
            provider: 'fireworks',
            name: 'Llama-3-70B-Instruct',
            group: 'Llama3'
        }
    ],
    zhinao: [
        {
            id: '360gpt-pro',
            provider: 'zhinao',
            name: '360gpt-pro',
            group: '360Gpt'
        },
        {
            id: '360gpt-turbo',
            provider: 'zhinao',
            name: '360gpt-turbo',
            group: '360Gpt'
        }
    ],
    hunyuan: [
        {
            id: 'hunyuan-pro',
            provider: 'hunyuan',
            name: 'hunyuan-pro',
            group: 'Hunyuan'
        },
        {
            id: 'hunyuan-standard',
            provider: 'hunyuan',
            name: 'hunyuan-standard',
            group: 'Hunyuan'
        },
        {
            id: 'hunyuan-lite',
            provider: 'hunyuan',
            name: 'hunyuan-lite',
            group: 'Hunyuan'
        },
        {
            id: 'hunyuan-standard-256k',
            provider: 'hunyuan',
            name: 'hunyuan-standard-256k',
            group: 'Hunyuan'
        },
        {
            id: 'hunyuan-vision',
            provider: 'hunyuan',
            name: 'hunyuan-vision',
            group: 'Hunyuan'
        },
        {
            id: 'hunyuan-code',
            provider: 'hunyuan',
            name: 'hunyuan-code',
            group: 'Hunyuan'
        },
        {
            id: 'hunyuan-role',
            provider: 'hunyuan',
            name: 'hunyuan-role',
            group: 'Hunyuan'
        },
        {
            id: 'hunyuan-turbo',
            provider: 'hunyuan',
            name: 'hunyuan-turbo',
            group: 'Hunyuan'
        },
        {
            id: 'hunyuan-turbos-latest',
            provider: 'hunyuan',
            name: 'hunyuan-turbos-latest',
            group: 'Hunyuan'
        },
        {
            id: 'hunyuan-embedding',
            provider: 'hunyuan',
            name: 'hunyuan-embedding',
            group: 'Embedding'
        }
    ],
    nvidia: [
        {
            id: '01-ai/yi-large',
            provider: 'nvidia',
            name: 'yi-large',
            group: 'Yi'
        },
        {
            id: 'meta/llama-3.1-405b-instruct',
            provider: 'nvidia',
            name: 'llama-3.1-405b-instruct',
            group: 'llama-3.1'
        }
    ],
    openrouter: [
        {
            id: 'google/gemma-2-9b-it:free',
            provider: 'openrouter',
            name: 'Google: Gemma 2 9B',
            group: 'Gemma'
        },
        {
            id: 'microsoft/phi-3-mini-128k-instruct:free',
            provider: 'openrouter',
            name: 'Phi-3 Mini 128K Instruct',
            group: 'Phi'
        },
        {
            id: 'microsoft/phi-3-medium-128k-instruct:free',
            provider: 'openrouter',
            name: 'Phi-3 Medium 128K Instruct',
            group: 'Phi'
        },
        {
            id: 'meta-llama/llama-3-8b-instruct:free',
            provider: 'openrouter',
            name: 'Meta: Llama 3 8B Instruct',
            group: 'Llama3'
        },
        {
            id: 'mistralai/mistral-7b-instruct:free',
            provider: 'openrouter',
            name: 'Mistral: Mistral 7B Instruct',
            group: 'Mistral'
        }
    ],
    groq: [
        {
            id: 'llama3-8b-8192',
            provider: 'groq',
            name: 'LLaMA3 8B',
            group: 'Llama3'
        },
        {
            id: 'llama3-70b-8192',
            provider: 'groq',
            name: 'LLaMA3 70B',
            group: 'Llama3'
        },
        {
            id: 'mistral-saba-24b',
            provider: 'groq',
            name: 'Mistral Saba 24B',
            group: 'Mistral'
        },
        {
            id: 'gemma-9b-it',
            provider: 'groq',
            name: 'Gemma 9B',
            group: 'Gemma'
        }
    ],
    'baidu-cloud': [
        {
            id: 'deepseek-r1',
            provider: 'baidu-cloud',
            name: 'DeepSeek R1',
            group: 'DeepSeek'
        },
        {
            id: 'deepseek-v3',
            provider: 'baidu-cloud',
            name: 'DeepSeek V3',
            group: 'DeepSeek'
        },
        {
            id: 'ernie-4.0-8k-latest',
            provider: 'baidu-cloud',
            name: 'ERNIE-4.0',
            group: 'ERNIE'
        },
        {
            id: 'ernie-4.0-turbo-8k-latest',
            provider: 'baidu-cloud',
            name: 'ERNIE 4.0 Trubo',
            group: 'ERNIE'
        },
        {
            id: 'ernie-speed-8k',
            provider: 'baidu-cloud',
            name: 'ERNIE Speed',
            group: 'ERNIE'
        },
        {
            id: 'ernie-lite-8k',
            provider: 'baidu-cloud',
            name: 'ERNIE Lite',
            group: 'ERNIE'
        },
        {
            id: 'bge-large-zh',
            provider: 'baidu-cloud',
            name: 'BGE Large ZH',
            group: 'Embedding'
        },
        {
            id: 'bge-large-en',
            provider: 'baidu-cloud',
            name: 'BGE Large EN',
            group: 'Embedding'
        }
    ],
    dmxapi: [
        {
            id: 'Qwen/Qwen2.5-7B-Instruct',
            provider: 'dmxapi',
            name: 'Qwen/Qwen2.5-7B-Instruct',
            group: '免费模型'
        },
        {
            id: 'ERNIE-Speed-128K',
            provider: 'dmxapi',
            name: 'ERNIE-Speed-128K',
            group: '免费模型'
        },
        {
            id: 'THUDM/glm-4-9b-chat',
            provider: 'dmxapi',
            name: 'THUDM/glm-4-9b-chat',
            group: '免费模型'
        },
        {
            id: 'glm-4-flash',
            provider: 'dmxapi',
            name: 'glm-4-flash',
            group: '免费模型'
        },
        {
            id: 'hunyuan-lite',
            provider: 'dmxapi',
            name: 'hunyuan-lite',
            group: '免费模型'
        },
        {
            id: 'gpt-4o',
            provider: 'dmxapi',
            name: 'gpt-4o',
            group: 'OpenAI'
        },
        {
            id: 'gpt-4o-mini',
            provider: 'dmxapi',
            name: 'gpt-4o-mini',
            group: 'OpenAI'
        },
        {
            id: 'DMXAPI-DeepSeek-R1',
            provider: 'dmxapi',
            name: 'DMXAPI-DeepSeek-R1',
            group: 'DeepSeek'
        },
        {
            id: 'DMXAPI-DeepSeek-V3',
            provider: 'dmxapi',
            name: 'DMXAPI-DeepSeek-V3',
            group: 'DeepSeek'
        },
        {
            id: 'claude-3-5-sonnet-20241022',
            provider: 'dmxapi',
            name: 'claude-3-5-sonnet-20241022',
            group: 'Claude'
        },
        {
            id: 'gemini-2.0-flash',
            provider: 'dmxapi',
            name: 'gemini-2.0-flash',
            group: 'Gemini'
        }
    ],
    perplexity: [
        {
            id: 'sonar-reasoning-pro',
            provider: 'perplexity',
            name: 'sonar-reasoning-pro',
            group: 'Sonar'
        },
        {
            id: 'sonar-reasoning',
            provider: 'perplexity',
            name: 'sonar-reasoning',
            group: 'Sonar'
        },
        {
            id: 'sonar-pro',
            provider: 'perplexity',
            name: 'sonar-pro',
            group: 'Sonar'
        },
        {
            id: 'sonar',
            provider: 'perplexity',
            name: 'sonar',
            group: 'Sonar'
        }
    ],
    infini: [
        {
            id: 'deepseek-r1',
            provider: 'infini',
            name: 'deepseek-r1',
            group: 'DeepSeek'
        },
        {
            id: 'deepseek-r1-distill-qwen-32b',
            provider: 'infini',
            name: 'deepseek-r1-distill-qwen-32b',
            group: 'DeepSeek'
        },
        {
            id: 'deepseek-v3',
            provider: 'infini',
            name: 'deepseek-v3',
            group: 'DeepSeek'
        },
        {
            id: 'qwen2.5-72b-instruct',
            provider: 'infini',
            name: 'qwen2.5-72b-instruct',
            group: 'Qwen'
        },
        {
            id: 'qwen2.5-32b-instruct',
            provider: 'infini',
            name: 'qwen2.5-32b-instruct',
            group: 'Qwen'
        },
        {
            id: 'qwen2.5-14b-instruct',
            provider: 'infini',
            name: 'qwen2.5-14b-instruct',
            group: 'Qwen'
        },
        {
            id: 'qwen2.5-7b-instruct',
            provider: 'infini',
            name: 'qwen2.5-7b-instruct',
            group: 'Qwen'
        },
        {
            id: 'qwen2-72b-instruct',
            provider: 'infini',
            name: 'qwen2-72b-instruct',
            group: 'Qwen'
        },
        {
            id: 'qwq-32b-preview',
            provider: 'infini',
            name: 'qwq-32b-preview',
            group: 'Qwen'
        },
        {
            id: 'qwen2.5-coder-32b-instruct',
            provider: 'infini',
            name: 'qwen2.5-coder-32b-instruct',
            group: 'Qwen'
        },
        {
            id: 'llama-3.3-70b-instruct',
            provider: 'infini',
            name: 'llama-3.3-70b-instruct',
            group: 'Llama'
        },
        {
            id: 'bge-m3',
            provider: 'infini',
            name: 'bge-m3',
            group: 'BAAI'
        },
        {
            id: 'gemma-2-27b-it',
            provider: 'infini',
            name: 'gemma-2-27b-it',
            group: 'Gemma'
        },
        {
            id: 'jina-embeddings-v2-base-zh',
            provider: 'infini',
            name: 'jina-embeddings-v2-base-zh',
            group: 'Jina'
        },
        {
            id: 'jina-embeddings-v2-base-code',
            provider: 'infini',
            name: 'jina-embeddings-v2-base-code',
            group: 'Jina'
        }
    ],
    xirang: [],
    'tencent-cloud-ti': [
        {
            id: 'deepseek-r1',
            provider: 'tencent-cloud-ti',
            name: 'DeepSeek R1',
            group: 'DeepSeek'
        },
        {
            id: 'deepseek-v3',
            provider: 'tencent-cloud-ti',
            name: 'DeepSeek V3',
            group: 'DeepSeek'
        }
    ],
    gpustack: [],
    voyageai: [
        {
            id: 'voyage-3-large',
            provider: 'voyageai',
            name: 'voyage-3-large',
            group: 'Voyage Embeddings V3'
        },
        {
            id: 'voyage-3',
            provider: 'voyageai',
            name: 'voyage-3',
            group: 'Voyage Embeddings V3'
        },
        {
            id: 'voyage-3-lite',
            provider: 'voyageai',
            name: 'voyage-3-lite',
            group: 'Voyage Embeddings V3'
        },
        {
            id: 'voyage-code-3',
            provider: 'voyageai',
            name: 'voyage-code-3',
            group: 'Voyage Embeddings V3'
        },
        {
            id: 'voyage-finance-3',
            provider: 'voyageai',
            name: 'voyage-finance-3',
            group: 'Voyage Embeddings V2'
        },
        {
            id: 'voyage-law-2',
            provider: 'voyageai',
            name: 'voyage-law-2',
            group: 'Voyage Embeddings V2'
        },
        {
            id: 'voyage-code-2',
            provider: 'voyageai',
            name: 'voyage-code-2',
            group: 'Voyage Embeddings V2'
        },
        {
            id: 'rerank-2',
            provider: 'voyageai',
            name: 'rerank-2',
            group: 'Voyage Rerank V2'
        },
        {
            id: 'rerank-2-lite',
            provider: 'voyageai',
            name: 'rerank-2-lite',
            group: 'Voyage Rerank V2'
        }
    ]
}
